﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace getSexImage.Code
{
    /// <summary>
    /// 数据仓库
    /// 当前的状态：是否已经全部索引完成。如果全部索引完成，那么每次检查的时候只需要看看有没有更新就行了；否则就需要将所有的页面全部爬一遍
    /// 已经检索过的详情页列表以及其相关信息
    /// 正在等待检索的详情页列表
    /// 已经擒拿的美女的列表以及信息
    /// 准备擒拿的美女列表
    /// </summary>
    class TaskData
    {

        /// <summary>
        /// 已下载的页面列表
        /// </summary>
        public Dictionary<string, PageTask> PageDownloaded { get; set; }

        /// <summary>
        /// 等待下载的页面队列任务
        /// </summary>
        public Queue<PageTask> WaitForDownloadPageTasks { get; set; }

        public Dictionary<string, ImageDownloadTaskInfo> DownloadedImages { get; set; }

        /// <summary>
        /// 准备下载的图片列表
        /// </summary>
        public Queue<ImageDownloadTask> ImageDownloadTasks { get; set; }

        /// <summary>
        /// 获得或设置是否已经完整下载过
        /// </summary>
        public bool FullyDownloaded { get; set; }

        public TaskData()
        {
            PageDownloaded = new Dictionary<string, PageTask>(StringComparer.OrdinalIgnoreCase);
            DownloadedImages = new Dictionary<string, ImageDownloadTaskInfo>(StringComparer.OrdinalIgnoreCase);
            WaitForDownloadPageTasks = new Queue<PageTask>();
            ImageDownloadTasks = new Queue<ImageDownloadTask>();
        }
    }
}
